package com.sxj.corejava.code06_数组;

import java.util.Arrays;

/**
 * @author 石小俊
 * @date 2025年01月04日
 */
public class Test08_二维数组 {

    public static void main(String[] args) {
//        test01();
//        test02();
//        test03();
        test04();
    }

    public static void test01() {
        // 规则的二维数组,数组长度为3
        // 数组中每一个元素也是一个数组,且长度均为2
        int[][] arr = new int[3][2];
        arr[0][0] = 1;
        arr[0][1] = 2;
        arr[1][0] = 3;
        arr[1][1] = 4;
        arr[2][0] = 5;
        arr[2][1] = 6;
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }

    public static void test02() {
        // 不规则的二维数组,数组长度为3
        // 数组中每一个元素也是一个数组,只是赋值前需要先定义数组长度
        // 元素中的数组长度不固定
        int[][] arr = new int[3][];
        // 定义元素中的数组长度
        arr[0] = new int[2];
        arr[0][0] = 1;
        arr[0][1] = 2;
        arr[1] = new int[3];
        arr[1][0] = 3;
        arr[1][1] = 4;
        arr[1][2] = 5;
        arr[2] = new int[4];
        arr[2][0] = 6;
        arr[2][1] = 7;
        arr[2][2] = 8;
        arr[2][3] = 9;
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }

    public static void test03() {
        // 定义二维数组的同时为数组元素赋值
        int[][] arr = new int[][]{{
                1, 2, 3, 4
        }, {
                5, 6
        }, {
                7, 8, 9
        }};
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }

    public static void test04() {
        // 定义二维数组的同时为数组元素赋值
        int[][] arr = new int[][]{
                {1, 2, 3, 4},
                {5, 6, 7},
                {8, 9}
        };
        for (int i = 0; i < arr.length; i++) {
            System.out.println(Arrays.toString(arr[i]));
        }
    }
}
